/**
 * @Project : algorithm-learning
 * @Author : Ruoyu Wang
 * @User : Momenta
 * @DateTime : 2024/4/10 17:06
 */

#include "string"

using namespace std;

struct TreeNode {
    int val;
    TreeNode *left;
    TreeNode *right;

    TreeNode() : val(0), left(nullptr), right(nullptr) {};

    TreeNode(int x) : val(x), left(nullptr), right(nullptr) {};

    TreeNode(int x, TreeNode *l, TreeNode *r) : val(0), left(l), right(r) {};
};

class Tree {
private:
    TreeNode *root;

    TreeNode *createTreeByPreAndIn(int pre[], int in[], int l1, int r1, int l2, int r2) {

    };

    TreeNode *createTree(const string& s, int &k) {

    };

public:
    Tree() : root(nullptr) {};

    Tree(string s) {
        int k = 0;
        root = createTree(s, k);
    };

    Tree(int pre[], int in[], int l1, int r1, int l2, int r2) {
        root = createTreeByPreAndIn(pre, in, l1, r1, l2, r2);
    };
};